
Alkaline.Processing.Condition = function(inheritedCondition) {
	// ... not sure how to do this yet
}

Alkaline.Processing.Condition.prototype.and = function(condition2) {
	if (this === Alkaline.Processing.Condition.ALWAYS)
		return condition2;
	if (this === Alkaline.Processing.Condition.NEVER)
		return this;
	return new Alkaline.Processing.Condition(this, "&&", condition2);
}

Alkaline.Processing.Condition.prototype.or = function(condition2) {
	if (this === Alkaline.Processing.Condition.ALWAYS)
		return this;
	if (this === Alkaline.Processing.Condition.NEVER)
		return condition2;
	return new Alkaline.Processing.Condition(this, "||", condition2);
}

Alkaline.Processing.Condition.prototype.andNot = function(condition2) {
	if (this === condition2 || condition2 === Alkaline.Processing.Condition.ALWAYS)
		return Alkaline.Processing.Condition.NEVER;
	return this;
}

Alkaline.Processing.Condition.prototype.not = function() {
	return new Alkaline.Processing.Condition(this, "!");
}

Alkaline.Processing.Condition.prototype.includes = function(condition2) {
	if (this === Alkaline.Processing.Condition.ALWAYS)
		return true;
	if (condition2 === Alkaline.Processing.Condition.ALWAYS)
		return false;
	if (this === Alkaline.Processing.Condition.NEVER)
		return condition2 === Alkaline.Processing.Condition.NEVER;
	return null;	// don't know; maybe; who's asking?
}

Alkaline.Processing.Condition.prototype.toString = function() {
	if (this === Alkaline.Processing.Condition.ALWAYS)
		return 'Always';
	if (this === Alkaline.Processing.Condition.NEVER)
		return 'Never';
	return 'Condition';
}

Alkaline.Processing.Condition.ALWAYS = new Alkaline.Processing.Condition();
Alkaline.Processing.Condition.NEVER = new Alkaline.Processing.Condition();
